home *** CD-ROM | disk | FTP | other *** search
/ Aminet 44 / Aminet 44 (2001)(GTI - Schatztruhe)[!][Aug 2001].iso / Aminet / game / misc / CCGames.lha / REVERSE.BAS < prev    next >
BASIC Source File  |  1980-01-01  |  2KB  |  67 lines

  1. 1 RANDOMIZE
  2. 5 PRINT CHR$(26):WIDTH 80
  3. 10 PRINT TAB(32);"REVERSE":PRINT
  4. 20 PRINT TAB(15);"CREATIVE COMPUTING  MORRISTOWN, NEW JERSEY"
  5. 30 PRINT:PRINT:PRINT
  6. 100 PRINT "REVERSE -- A GAME OF SKILL":PRINT
  7. 130 DIM A(20)
  8. 140 REM *** N=NUMBER OF NUMBERS
  9. 150 N=9
  10. 160 PRINT "DO YOU WANT THE RULES";
  11. 170 INPUT A$
  12. 180 IF LEFT$(A$,1)="N" THEN 210
  13. 190 GOSUB 710
  14. 200 REM *** MAKE A RANDOM LIST A(1) TO A(N)
  15. 210 A(1)=INT((N-1)*RND(1)+2)
  16. 220 FOR K=2 TO N
  17. 230 A(K)=INT(N*RND(1)+1)
  18. 240 FOR J=1 TO K-1
  19. 250 IF A(K)=A(J) THEN 230
  20. 260 NEXT J:NEXT K
  21. 280 REM *** PRINT ORIGINAL LIST AND START GAME
  22. 290 PRINT:PRINT "HERE WE GO ... THE LIST IS:"
  23. 310 T=0
  24. 320 GOSUB 610
  25. 330 PRINT "HOW MANY SHALL I REVERSE";
  26. 340 INPUT R
  27. 350 IF R=0 THEN 520
  28. 360 IF R<=N THEN 390
  29. 370 PRINT "OOPS! TOO MANY! I CAN REVERSE AT MOST";N:GOTO 330
  30. 390 T=T+1
  31. 400 REM *** REVERSE R NUMBERS AND PRINT NEW LIST
  32. 410 FOR K=1 TO INT(R/2)
  33. 420 Z=A(K)
  34. 430 A(K)=A(R-K+1)
  35. 440 A(R-K+1)=Z
  36. 450 NEXT K
  37. 460 GOSUB 610
  38. 470 REM *** CHECK FOR A WIN
  39. 480 FOR K=1 TO N
  40. 490 IF A(K)<>K THEN 330
  41. 500 NEXT K
  42. 510 PRINT "YOU WON IT IN";T;"MOVES!!!":PRINT
  43. 520 PRINT
  44. 530 PRINT "TRY AGAIN";
  45. 540 INPUT A$
  46. 550 IF LEFT$(A$,1)="Y" THEN 210
  47. 560 PRINT:PRINT "O.K. HOPE YOU HAD FUN!!":GOTO 999
  48. 600 REM *** SUBROUTINE TO PRINT LIST
  49. 610 PRINT:FOR K=1 TO N:PRINT A(K);:NEXT K
  50. 650 PRINT:PRINT:RETURN
  51. 700 REM *** SUBROUTINE TO PRINT THE RULES
  52. 710 PRINT:PRINT "THIS IS THE GAME OF 'REVERSE'.  TO WIN, ALL YOU HAVE"
  53. 720 PRINT "TO DO IS ARRANGE A LIST OF NUMBERS (1 THROUGH";N;")"
  54. 730 PRINT "IN NUMERICAL ORDER FROM LEFT TO RIGHT.  TO MOVE, YOU"
  55. 740 PRINT "TELL ME HOW MANY NUMBERS (COUNTING FROM THE LEFT) TO"
  56. 750 PRINT "REVERSE.  FOR EXAMPLE, IF THE CURRENT LIST IS:"
  57. 760 PRINT:PRINT "2 3 4 5 1 6 7 8 9"
  58. 770 PRINT:PRINT "AND YOU REVERSE 4, THE RESULT WILL BE:"
  59. 780 PRINT:PRINT "5 4 3 2 1 6 7 8 9"
  60. 790 PRINT:PRINT "NOW IF YOU REVERSE 5, YOU WIN!"
  61. 800 PRINT:PRINT "1 2 3 4 5 6 7 8 9":PRINT
  62. 810 PRINT "NO DOUBT YOU WILL LIKE THIS GAME, BUT"
  63. 820 PRINT "IF YOU WANT TO QUIT, REVERSE 0 (ZERO).":PRINT
  64. 830 LINE INPUT "ENTER 'RETURN' TO BEGIN THE GAME. ";RESP$:PRINT CHR$(26)
  65. 840 RETURN
  66. 999 RUN "MENU"
  67.